package Verwaltung.Daten.Interfaces;

import Verwaltung.Datencontroler.IDBObjekt;

public interface ILehrkraft extends IDBObjekt {

	/**
	 * gibt den Namen des Lehrers oder Betreuers zurück
	 * 
	 * @return Name des Lehrers oder Betreuers
	 */
	public String getName();

	/**
	 * Gibt den eindeutigen Namen eines Lehrers oder Betreuers zurück
	 * 
	 * @return eindeutiger Name des Lehrers oder Betreuers
	 */
	public String getLoginName();

	/**
	 * Gibt die Arbeitsstunden eines Lehrers oder Betreuers zurück
	 * 
	 * @return anzahl der Stunden die ein lehrer oder Btreuer arbeiten kann
	 */
	public int getWochenstunden();

	/**
	 * Unterscheidung zwischen Lehrer und Betreuer
	 * 
	 * @return true wenn es ein Lehrer ist, false wenn es ein Betreuer ist
	 */
	public boolean darfUnterrichten();

	/**
	 * getter fuer das Passwort der Lehrkraft
	 * 
	 * @return das Passwort der Lehrkraft
	 */
	public String getPassword();

	/**
	 * getter fuer das Permissionlevel der Lehrkraft
	 * 
	 * @return das Permissionlevel
	 */
	public int getPermissionLvl();

	/**
	 * Setzt den Login Namen der Lehrkraft
	 * 
	 * @param neuerLogin
	 */
	public void setLogin(String neuerLogin);

	/**
	 * Setzt den Namen der Lehrkraft
	 * 
	 * @param name
	 */
	public void setName(String name);

	/**
	 * Setzt die Arbeitsstunden der Lehrkraft
	 * 
	 * @param stundenProWoche
	 */
	public void setArbeitsstunden(int stundenProWoche);

	/**
	 * Setzt das Passwort der Lehrkraft.
	 * 
	 * @param password
	 */
	public void setPassword(String password);

	/**
	 * Setzt das PermissionLVL der Lehrkraft. -1 : Ausgeloggt (hier nicht
	 * moeglich) 0 : Normaler Nutzer 1 : Admin
	 * 
	 * @param permissionLvl
	 */
	public void setPermissionLvl(int permissionLvl);

	/**
	 * Bestimmt ob die Lehrkraft unterrichten darf. Ist beim Lehrer
	 * standartmaessig true und beim betreuer false.
	 * 
	 * @param unterrichtserlaubnis
	 */
	public void setDarfUnterrichten(boolean unterrichtserlaubnis);

	/**
	 * Gibt die Lehrkraft als String aus
	 * 
	 * @return Login Name der Lehrkraft
	 */
	@Override
	public String toString();

	/**
	 * Leifert die ID aus der DB, wenn nicht in der DB, ist die id 0
	 * 
	 * @return
	 */
	public int getID();
}
